package day11;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.TreeSet;

/**
 * @author Xiao
 * @date 2021/8/2
 */
public class Test06 {
    /**
     * 6. 定义学生类，有姓名，年龄，分数三个属性。
     *     1. 创建三个学生对象，添加到集合中，要求分别按照分数，年龄，姓名作为条件进行排序。
     *     2. 将集合中的三个学生对象信息存储到当前项目下的stu.txt文件中
     *         举例：
     *             张三,18,88
     *             李四,21,98
     *             老王,24,91
     */
    public static void main(String[] args) throws IndexOutOfBoundsException, IOException {
       TreeSet<Student> list = new TreeSet<>(new Comparator<Student>() {
           @Override
           public int compare(Student o1, Student o2) {
               int result = o2.getScore() - o1.getScore();
               result = result == 0 ? o1.getAge() - o2.getAge() : 0;
               result = result == 0 ? o1.getName().compareTo(o2.getName()) : 0;
               return result;
           }
       });
        list.add(new Student("张三", 18, 88));
        list.add(new Student("李四", 21, 98));
        list.add(new Student("老王", 24, 91));
        FileOutputStream fos = new FileOutputStream("homework\\sr\\day11\\stu.txt");
        for (Student stu : list) {
            /*String[] str = {stu.getName() + ", ", stu.getAge() + ", ", stu.getScore() + ""};
            fos.write((str[0]).getBytes());
            fos.write((str[1]).getBytes());
            fos.write((str[2]).getBytes());*/
            fos.write(stu.toString().getBytes());
            fos.write("\r\n".getBytes());
        }
        fos.close();
    }
}
